Добавляя методы к COM классу в ATL с помощью Add Method:

У нас возникает две задачи. Толи метод для ввода данных в класс, толи для вывода. Для ввода необходимо иcпользовать [in], смотрите как на рисунке:

Для вывода надо использовать [out]:

И соответственно реализация функций для ввода:
STDMETHODIMP CMin::FirstValue(double dFirst)
{
// TODO: Add your implementation code here
dMin=dFirst;
return S_OK;
}
Для вывода:
STDMETHODIMP CMin::GetMin(double *GetMin)
{
// TODO: Add your implementation code here
*GetMin=dMin;
return S_OK;
}
Обратите внимание, что вывод производится через значение указателя. Обращения на VB будет выглядеть так.
Dim tempDouble As Double MinFunct.GetMin (tempDouble) ResultTxt = Str(tempDouble)